1. Field of the Invention
The present invention relates generally to an improved data processing system and in particular to handling errors that occur in computer software. Still more particularly, the present invention relates to a computer implemented method, computer program product, and computer usable program code for isolating erroneous software components.
2. Description of the Related Art
Modern software is often very complex and can involve a large number of lines of code. If printed onto paper, a single program can possibly be thousands of pages long. To address this problem, software engineers often design software programs in modular form. The modules are then put together and programmed to interact with each other to accomplish a desired purpose. The process of combining modules in this way is analogous to constructing a building in that pre-fabricated components are brought to the construction site and combined in a desired manner. In the same sense that building design can be referred to as building architecture, the design of how software modules are combined can be referred to as software architecture.
However, even software architecture can become exceedingly complex. Furthermore, if a problem or error arises in one software module, then that problem or error can propagate to other software modules or otherwise affect other software modules. Additionally, the error can propagate to or affect a main program, application server, or other software designed to coordinate modules in a software architecture. Whether or not the error propagates to or affects such coordination software or only modules within a software architecture, the error in one module can cause the entire architecture to fail, operate in an undesirable manner, or otherwise be subject to additional errors.